<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>xilpki: XilPKI Library APIs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">xilpki
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;"
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__xilpki-api.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#enumval-members">Enumerator</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">XilPKI Library APIs</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_pki___request___info.html">XPki_Request_Info</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">PKI Request info struct.  <a href="struct_x_pki___request___info.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga4877acc9d6a83a4f254970dab52187d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga4877acc9d6a83a4f254970dab52187d6">XPKI_INVALID_PARAM</a>&#160;&#160;&#160;0x2U</td></tr>
<tr class="memdesc:ga4877acc9d6a83a4f254970dab52187d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error codes.  <a href="#ga4877acc9d6a83a4f254970dab52187d6">More...</a><br/></td></tr>
<tr class="separator:ga4877acc9d6a83a4f254970dab52187d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga22d3441cd8c17837ce0f26711b0f6502"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga22d3441cd8c17837ce0f26711b0f6502">XPKI_ERROR_UNALIGN_ADDR</a>&#160;&#160;&#160;0x3U</td></tr>
<tr class="memdesc:ga22d3441cd8c17837ce0f26711b0f6502"><td class="mdescLeft">&#160;</td><td class="mdescRight">For unaligned address.  <a href="#ga22d3441cd8c17837ce0f26711b0f6502">More...</a><br/></td></tr>
<tr class="separator:ga22d3441cd8c17837ce0f26711b0f6502"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaffff0e169b2892e3b89960208a1aaca3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#gaffff0e169b2892e3b89960208a1aaca3">XPKI_INVALID_QUEUE_ID</a>&#160;&#160;&#160;0x4U</td></tr>
<tr class="memdesc:gaffff0e169b2892e3b89960208a1aaca3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid Queue ID.  <a href="#gaffff0e169b2892e3b89960208a1aaca3">More...</a><br/></td></tr>
<tr class="separator:gaffff0e169b2892e3b89960208a1aaca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59a066a8419d2bd879050ec3778eb4d1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga59a066a8419d2bd879050ec3778eb4d1">XPKI_UNSUPPORTED_OPS</a>&#160;&#160;&#160;0x5U</td></tr>
<tr class="memdesc:ga59a066a8419d2bd879050ec3778eb4d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unsupported operation.  <a href="#ga59a066a8419d2bd879050ec3778eb4d1">More...</a><br/></td></tr>
<tr class="separator:ga59a066a8419d2bd879050ec3778eb4d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaecd8c5bf657f4956f3156c8ccda28cae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#gaecd8c5bf657f4956f3156c8ccda28cae">XPKI_QUEUE_FULL</a>&#160;&#160;&#160;0x6U</td></tr>
<tr class="memdesc:gaecd8c5bf657f4956f3156c8ccda28cae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Queue full.  <a href="#gaecd8c5bf657f4956f3156c8ccda28cae">More...</a><br/></td></tr>
<tr class="separator:gaecd8c5bf657f4956f3156c8ccda28cae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c4ee847d41481347ffe9e22c20827fc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga3c4ee847d41481347ffe9e22c20827fc">XPKI_SLOT_SIZE_ERR</a>&#160;&#160;&#160;0x7U</td></tr>
<tr class="memdesc:ga3c4ee847d41481347ffe9e22c20827fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">For incompatiable slot size.  <a href="#ga3c4ee847d41481347ffe9e22c20827fc">More...</a><br/></td></tr>
<tr class="separator:ga3c4ee847d41481347ffe9e22c20827fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45b57aaaa03e56b9ed1b9f2a4705dcb6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga45b57aaaa03e56b9ed1b9f2a4705dcb6">XPKI_INVALID_REQ_ID</a>&#160;&#160;&#160;0x8U</td></tr>
<tr class="memdesc:ga45b57aaaa03e56b9ed1b9f2a4705dcb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid request ID.  <a href="#ga45b57aaaa03e56b9ed1b9f2a4705dcb6">More...</a><br/></td></tr>
<tr class="separator:ga45b57aaaa03e56b9ed1b9f2a4705dcb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1050315ee39dec8045e595900152f945"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga1050315ee39dec8045e595900152f945">XPKI_SIGN_COPY_ERR</a>&#160;&#160;&#160;0x9U</td></tr>
<tr class="memdesc:ga1050315ee39dec8045e595900152f945"><td class="mdescLeft">&#160;</td><td class="mdescRight">Failed to copy the signature into the user pointed buffer.  <a href="#ga1050315ee39dec8045e595900152f945">More...</a><br/></td></tr>
<tr class="separator:ga1050315ee39dec8045e595900152f945"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e734c9d7fd5fc7659467b73bf4435cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga2e734c9d7fd5fc7659467b73bf4435cd">XPKI_PRIV_KEY_COPY_ERR</a>&#160;&#160;&#160;0xAU</td></tr>
<tr class="memdesc:ga2e734c9d7fd5fc7659467b73bf4435cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Failed to copy the private-key into the user pointed buffer.  <a href="#ga2e734c9d7fd5fc7659467b73bf4435cd">More...</a><br/></td></tr>
<tr class="separator:ga2e734c9d7fd5fc7659467b73bf4435cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga79ab7367766b15cf44879750e9145378"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga79ab7367766b15cf44879750e9145378">XPKI_PUB_KEY_COPY_ERR</a>&#160;&#160;&#160;0xBU</td></tr>
<tr class="memdesc:ga79ab7367766b15cf44879750e9145378"><td class="mdescLeft">&#160;</td><td class="mdescRight">Failed to copy the public-key into the user pointed buffer.  <a href="#ga79ab7367766b15cf44879750e9145378">More...</a><br/></td></tr>
<tr class="separator:ga79ab7367766b15cf44879750e9145378"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3604e005dc68f5374bbb264ce4257136"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga3604e005dc68f5374bbb264ce4257136">NIST_P192_LEN_BYTES</a>&#160;&#160;&#160;24U</td></tr>
<tr class="memdesc:ga3604e005dc68f5374bbb264ce4257136"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bytes.  <a href="#ga3604e005dc68f5374bbb264ce4257136">More...</a><br/></td></tr>
<tr class="separator:ga3604e005dc68f5374bbb264ce4257136"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6bdf7f4be7098ca8985db64d7e354c06"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga6bdf7f4be7098ca8985db64d7e354c06">NIST_P384_LEN_BYTES</a>&#160;&#160;&#160;48U</td></tr>
<tr class="memdesc:ga6bdf7f4be7098ca8985db64d7e354c06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bytes.  <a href="#ga6bdf7f4be7098ca8985db64d7e354c06">More...</a><br/></td></tr>
<tr class="separator:ga6bdf7f4be7098ca8985db64d7e354c06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99a95bd05cc5d2433b3b54f23242beff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga99a95bd05cc5d2433b3b54f23242beff">NIST_P256_LEN_BYTES</a>&#160;&#160;&#160;32U</td></tr>
<tr class="memdesc:ga99a95bd05cc5d2433b3b54f23242beff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bytes.  <a href="#ga99a95bd05cc5d2433b3b54f23242beff">More...</a><br/></td></tr>
<tr class="separator:ga99a95bd05cc5d2433b3b54f23242beff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2aae30b7b035c8837226e2ca387093bd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga2aae30b7b035c8837226e2ca387093bd">NIST_P521_LEN_BYTES</a>&#160;&#160;&#160;66U</td></tr>
<tr class="memdesc:ga2aae30b7b035c8837226e2ca387093bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bytes.  <a href="#ga2aae30b7b035c8837226e2ca387093bd">More...</a><br/></td></tr>
<tr class="separator:ga2aae30b7b035c8837226e2ca387093bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga2ada82147d8840951ba1ab921cc5fe77"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga2ada82147d8840951ba1ab921cc5fe77">Xpki_OpsType</a> { <br/>
&#160;&#160;<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a450e3b7dbaffcfdd0ba9c5401309149d">PKI_ECC_NIST_P192_SIGN</a> = 1,
<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a483c2b35b683faeb70fcb78f6965f672">PKI_ECC_NIST_P256_SIGN</a>,
<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77acdab55697f7e3de418090c06b4cf4a43">PKI_ECC_NIST_P384_SIGN</a>,
<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ac0207dd557b354ef62d7ac6d23284a60">PKI_ECC_NIST_P521_SIGN</a>,
<br/>
&#160;&#160;<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ab88f47ec99dca856c9cb27d1f2968d00">PKI_ECC_NIST_P192_SIGN_VERIFY</a>,
<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77abef5f4196b37f65112bcc06ce9ec4e89">PKI_ECC_NIST_P256_SIGN_VERIFY</a>,
<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77acbb236799f819cfd64610cbf8bdf4259">PKI_ECC_NIST_P384_SIGN_VERIFY</a>,
<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77af704dd1d03fade9c09d106fd19e2b926">PKI_ECC_NIST_P521_SIGN_VERIFY</a>,
<br/>
&#160;&#160;<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77aa0e8156b5571c43d72cc0a7b531ffa18">PKI_ECC_NIST_P192_KEY_PRIV_GEN</a>,
<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ac21a75cc63a68de870f84c802e71d6ef">PKI_ECC_NIST_P256_KEY_PRIV_GEN</a>,
<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a5d03296c91f085ed217a543bd410d89f">PKI_ECC_NIST_P384_KEY_PRIV_GEN</a>,
<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ae7a1e4aa6ddb9878f1ed66a59e976b4a">PKI_ECC_NIST_P521_KEY_PRIV_GEN</a>,
<br/>
&#160;&#160;<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a587a22c675c8759a94ac25ec29c65a8c">PKI_ECC_NIST_P192_KEY_PUB_GEN</a>,
<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a1a4132b55a03a6807f70266fd8a1f8e7">PKI_ECC_NIST_P256_KEY_PUB_GEN</a>,
<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a24e795e1389f1ed1f5cfafcf6910146c">PKI_ECC_NIST_P384_KEY_PUB_GEN</a>,
<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ac7f44f3c4951b2b9f10421e5e9ef7dde">PKI_ECC_NIST_P521_KEY_PUB_GEN</a>,
<br/>
&#160;&#160;<a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ad662c4543b0cbffbabad2bd4608191de">PKI_MAX_OPS</a>
<br/>
 }</td></tr>
<tr class="memdesc:ga2ada82147d8840951ba1ab921cc5fe77"><td class="mdescLeft">&#160;</td><td class="mdescRight">PKI ECC supported operation.  <a href="group__xilpki-api.html#ga2ada82147d8840951ba1ab921cc5fe77">More...</a><br/></td></tr>
<tr class="separator:ga2ada82147d8840951ba1ab921cc5fe77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17397319ffdcb8c105f8aaa731eac7fa"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga17397319ffdcb8c105f8aaa731eac7fa">XPki_EcdsaCrvType</a> { <a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faaa5a49f182e930999ebf8be222d62cdea">ECC_NIST_P192</a> = 1,
<a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faae8c5cb86007337b5c7943ad42d88c26d">ECC_NIST_P256</a>,
<a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faa8694a219c07cd54e8969db947c01bd6b">ECC_NIST_P384</a>,
<a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faa5a2c0ed5cfaf7d65b68a34a1f5dc0d5c">ECC_NIST_P521</a>
 }</td></tr>
<tr class="separator:ga17397319ffdcb8c105f8aaa731eac7fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gada33ab17ef6562cda9cf95e5c74773e7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#gada33ab17ef6562cda9cf95e5c74773e7">XPki_EcdsaCrv</a> { <a class="el" href="group__xilpki-api.html#ggada33ab17ef6562cda9cf95e5c74773e7af3470f20be5b73c2f62b233ff3119558">ECC_BINARY</a> = 1,
<a class="el" href="group__xilpki-api.html#ggada33ab17ef6562cda9cf95e5c74773e7a7a0c9adf45eaf35421b9f91889bc51e0">ECC_PRIME</a>
 }</td></tr>
<tr class="separator:gada33ab17ef6562cda9cf95e5c74773e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga505935a763918d9c3703d7b27be9a41b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga505935a763918d9c3703d7b27be9a41b">XPki_Reset</a> (void)</td></tr>
<tr class="memdesc:ga505935a763918d9c3703d7b27be9a41b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reset the PKI module.  <a href="#ga505935a763918d9c3703d7b27be9a41b">More...</a><br/></td></tr>
<tr class="separator:ga505935a763918d9c3703d7b27be9a41b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ea0ba13f75d8fef10d836964638a016"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga9ea0ba13f75d8fef10d836964638a016">XPki_SoftReset</a> (void)</td></tr>
<tr class="memdesc:ga9ea0ba13f75d8fef10d836964638a016"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs the PKI module soft reset.  <a href="#ga9ea0ba13f75d8fef10d836964638a016">More...</a><br/></td></tr>
<tr class="separator:ga9ea0ba13f75d8fef10d836964638a016"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga576bdd3a3c4387f79ce64072c9be1e8e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga576bdd3a3c4387f79ce64072c9be1e8e">XPki_Initialize</a> (XPki_Instance *InstancePtr)</td></tr>
<tr class="memdesc:ga576bdd3a3c4387f79ce64072c9be1e8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs the PKI module initialization.  <a href="#ga576bdd3a3c4387f79ce64072c9be1e8e">More...</a><br/></td></tr>
<tr class="separator:ga576bdd3a3c4387f79ce64072c9be1e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f5cc0cd24e52dbdb086c293cbe8eb37"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga7f5cc0cd24e52dbdb086c293cbe8eb37">XPki_EcdsaGenerateKeyPair</a> (XPki_Instance *InstancePtr, <a class="el" href="group__xilpki-api.html#ga17397319ffdcb8c105f8aaa731eac7fa">XPki_EcdsaCrvType</a> CrvType, XPki_EcdsaKey *PubKey, u8 *PrivKey)</td></tr>
<tr class="memdesc:ga7f5cc0cd24e52dbdb086c293cbe8eb37"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function Generate key pairs for the ECC curves NIST-P192, P256, P384, and P521.  <a href="#ga7f5cc0cd24e52dbdb086c293cbe8eb37">More...</a><br/></td></tr>
<tr class="separator:ga7f5cc0cd24e52dbdb086c293cbe8eb37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e05fcde36a6900da8e90f5e29c18cfc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga4e05fcde36a6900da8e90f5e29c18cfc">XPki_EcdsaVerifySignKat</a> (XPki_Instance *InstancePtr, XPki_EcdsaCrvInfo *CrvInfo)</td></tr>
<tr class="memdesc:ga4e05fcde36a6900da8e90f5e29c18cfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs ECC sign verify known answer test(KAT)  <a href="#ga4e05fcde36a6900da8e90f5e29c18cfc">More...</a><br/></td></tr>
<tr class="separator:ga4e05fcde36a6900da8e90f5e29c18cfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b2b5d7924786767fa77fda38febdf83"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga0b2b5d7924786767fa77fda38febdf83">XPki_EcdsaSignGenerateKat</a> (XPki_Instance *InstancePtr, XPki_EcdsaCrvInfo *CrvInfo)</td></tr>
<tr class="memdesc:ga0b2b5d7924786767fa77fda38febdf83"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs ECC sign generate known answer test(KAT)  <a href="#ga0b2b5d7924786767fa77fda38febdf83">More...</a><br/></td></tr>
<tr class="separator:ga0b2b5d7924786767fa77fda38febdf83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafdce6fc10f8a3c600a5b2ad5892f96cd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#gafdce6fc10f8a3c600a5b2ad5892f96cd">XPki_EcdsaPwct</a> (XPki_Instance *InstancePtr, XPki_EcdsaCrvInfo *CrvInfo, XPki_EcdsaKey *PubKey, u8 *PrivKey)</td></tr>
<tr class="memdesc:gafdce6fc10f8a3c600a5b2ad5892f96cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs ECC pairwise consistency test on ECC Curves.  <a href="#gafdce6fc10f8a3c600a5b2ad5892f96cd">More...</a><br/></td></tr>
<tr class="separator:gafdce6fc10f8a3c600a5b2ad5892f96cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17c93923bc5348033293e61c582eb7a3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga17c93923bc5348033293e61c582eb7a3">XPki_TrngGenerateRandomNum</a> (u8 GenSize, u8 *RandBuf)</td></tr>
<tr class="memdesc:ga17c93923bc5348033293e61c582eb7a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to generate the Random number for the give size.  <a href="#ga17c93923bc5348033293e61c582eb7a3">More...</a><br/></td></tr>
<tr class="separator:ga17c93923bc5348033293e61c582eb7a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56071d557aca5100f5e0f77f9c49c572"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga56071d557aca5100f5e0f77f9c49c572">XilPki_EnQueue</a> (XPki_Instance *InstancePtr, <a class="el" href="struct_x_pki___request___info.html">XPki_Request_Info</a> *Request_InfoPtr, u32 *RequestID)</td></tr>
<tr class="memdesc:ga56071d557aca5100f5e0f77f9c49c572"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to submit the crypto operation to the PKI Queue.  <a href="#ga56071d557aca5100f5e0f77f9c49c572">More...</a><br/></td></tr>
<tr class="separator:ga56071d557aca5100f5e0f77f9c49c572"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc4bfe87976eaae5bf350315054d9be1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#gacc4bfe87976eaae5bf350315054d9be1">XilPki_DeQueue</a> (XPki_Instance *InstancePtr, <a class="el" href="struct_x_pki___request___info.html">XPki_Request_Info</a> *Request_InfoPtr, u32 RequestID)</td></tr>
<tr class="memdesc:gacc4bfe87976eaae5bf350315054d9be1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to get the crypto operation results from the PKI Queue.  <a href="#gacc4bfe87976eaae5bf350315054d9be1">More...</a><br/></td></tr>
<tr class="separator:gacc4bfe87976eaae5bf350315054d9be1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ddb8e612b2e3b756bfbff5ba1d81bb8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga2ddb8e612b2e3b756bfbff5ba1d81bb8">XPki_Close</a> (void)</td></tr>
<tr class="memdesc:ga2ddb8e612b2e3b756bfbff5ba1d81bb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to disable access to the PKI Hardware.  <a href="#ga2ddb8e612b2e3b756bfbff5ba1d81bb8">More...</a><br/></td></tr>
<tr class="separator:ga2ddb8e612b2e3b756bfbff5ba1d81bb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga4750aeba3cd920b113e027f1b90a6c6c"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga4750aeba3cd920b113e027f1b90a6c6c">XPki_Request_Info::PtrInputData</a></td></tr>
<tr class="memdesc:ga4750aeba3cd920b113e027f1b90a6c6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the input data.  <a href="#ga4750aeba3cd920b113e027f1b90a6c6c">More...</a><br/></td></tr>
<tr class="separator:ga4750aeba3cd920b113e027f1b90a6c6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadad46ec8656c2b010f923719be16301e"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#gadad46ec8656c2b010f923719be16301e">XPki_Request_Info::PtrOutputData</a></td></tr>
<tr class="memdesc:gadad46ec8656c2b010f923719be16301e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the outout data.  <a href="#gadad46ec8656c2b010f923719be16301e">More...</a><br/></td></tr>
<tr class="separator:gadad46ec8656c2b010f923719be16301e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga661c6c12cb44acbcc56872825795ef8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__xilpki-api.html#ga2ada82147d8840951ba1ab921cc5fe77">Xpki_OpsType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga661c6c12cb44acbcc56872825795ef8b">XPki_Request_Info::OpsType</a></td></tr>
<tr class="memdesc:ga661c6c12cb44acbcc56872825795ef8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECC operation type.  <a href="#ga661c6c12cb44acbcc56872825795ef8b">More...</a><br/></td></tr>
<tr class="separator:ga661c6c12cb44acbcc56872825795ef8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c79d9b9a4e2922c5328b39b4f033b35"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilpki-api.html#ga0c79d9b9a4e2922c5328b39b4f033b35">XPki_Request_Info::XPki_CompletionCallBack</a> )(u32 RequestID, u32 Status)</td></tr>
<tr class="memdesc:ga0c79d9b9a4e2922c5328b39b4f033b35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request completion callback function pointer.  <a href="#ga0c79d9b9a4e2922c5328b39b4f033b35">More...</a><br/></td></tr>
<tr class="separator:ga0c79d9b9a4e2922c5328b39b4f033b35"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga3604e005dc68f5374bbb264ce4257136"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NIST_P192_LEN_BYTES&#160;&#160;&#160;24U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bytes. </p>

</div>
</div>
<a class="anchor" id="ga99a95bd05cc5d2433b3b54f23242beff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NIST_P256_LEN_BYTES&#160;&#160;&#160;32U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bytes. </p>

</div>
</div>
<a class="anchor" id="ga6bdf7f4be7098ca8985db64d7e354c06"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NIST_P384_LEN_BYTES&#160;&#160;&#160;48U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bytes. </p>

</div>
</div>
<a class="anchor" id="ga2aae30b7b035c8837226e2ca387093bd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NIST_P521_LEN_BYTES&#160;&#160;&#160;66U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bytes. </p>

</div>
</div>
<a class="anchor" id="ga22d3441cd8c17837ce0f26711b0f6502"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XPKI_ERROR_UNALIGN_ADDR&#160;&#160;&#160;0x3U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>For unaligned address. </p>

</div>
</div>
<a class="anchor" id="ga4877acc9d6a83a4f254970dab52187d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XPKI_INVALID_PARAM&#160;&#160;&#160;0x2U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Error codes. </p>
<p>Invalid parameters </p>

<p>Referenced by <a class="el" href="group__xilpki-api.html#gacc4bfe87976eaae5bf350315054d9be1">XilPki_DeQueue()</a>, <a class="el" href="group__xilpki-api.html#ga56071d557aca5100f5e0f77f9c49c572">XilPki_EnQueue()</a>, and <a class="el" href="group__xilpki-api.html#ga576bdd3a3c4387f79ce64072c9be1e8e">XPki_Initialize()</a>.</p>

</div>
</div>
<a class="anchor" id="gaffff0e169b2892e3b89960208a1aaca3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XPKI_INVALID_QUEUE_ID&#160;&#160;&#160;0x4U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invalid Queue ID. </p>

</div>
</div>
<a class="anchor" id="ga45b57aaaa03e56b9ed1b9f2a4705dcb6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XPKI_INVALID_REQ_ID&#160;&#160;&#160;0x8U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invalid request ID. </p>

</div>
</div>
<a class="anchor" id="ga2e734c9d7fd5fc7659467b73bf4435cd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XPKI_PRIV_KEY_COPY_ERR&#160;&#160;&#160;0xAU</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Failed to copy the private-key into the user pointed buffer. </p>

</div>
</div>
<a class="anchor" id="ga79ab7367766b15cf44879750e9145378"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XPKI_PUB_KEY_COPY_ERR&#160;&#160;&#160;0xBU</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Failed to copy the public-key into the user pointed buffer. </p>

</div>
</div>
<a class="anchor" id="gaecd8c5bf657f4956f3156c8ccda28cae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XPKI_QUEUE_FULL&#160;&#160;&#160;0x6U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Queue full. </p>

<p>Referenced by <a class="el" href="group__xilpki-api.html#ga56071d557aca5100f5e0f77f9c49c572">XilPki_EnQueue()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1050315ee39dec8045e595900152f945"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XPKI_SIGN_COPY_ERR&#160;&#160;&#160;0x9U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Failed to copy the signature into the user pointed buffer. </p>

</div>
</div>
<a class="anchor" id="ga3c4ee847d41481347ffe9e22c20827fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XPKI_SLOT_SIZE_ERR&#160;&#160;&#160;0x7U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>For incompatiable slot size. </p>

</div>
</div>
<a class="anchor" id="ga59a066a8419d2bd879050ec3778eb4d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XPKI_UNSUPPORTED_OPS&#160;&#160;&#160;0x5U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Unsupported operation. </p>

<p>Referenced by <a class="el" href="group__xilpki-api.html#ga56071d557aca5100f5e0f77f9c49c572">XilPki_EnQueue()</a>.</p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="gada33ab17ef6562cda9cf95e5c74773e7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__xilpki-api.html#gada33ab17ef6562cda9cf95e5c74773e7">XPki_EcdsaCrv</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggada33ab17ef6562cda9cf95e5c74773e7af3470f20be5b73c2f62b233ff3119558"></a>ECC_BINARY</em>&nbsp;</td><td class="fielddoc">
<p>ECC Binary curve. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggada33ab17ef6562cda9cf95e5c74773e7a7a0c9adf45eaf35421b9f91889bc51e0"></a>ECC_PRIME</em>&nbsp;</td><td class="fielddoc">
<p>ECC Prime curve. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga17397319ffdcb8c105f8aaa731eac7fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__xilpki-api.html#ga17397319ffdcb8c105f8aaa731eac7fa">XPki_EcdsaCrvType</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga17397319ffdcb8c105f8aaa731eac7faaa5a49f182e930999ebf8be222d62cdea"></a>ECC_NIST_P192</em>&nbsp;</td><td class="fielddoc">
<p>NIST P-192 curve. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga17397319ffdcb8c105f8aaa731eac7faae8c5cb86007337b5c7943ad42d88c26d"></a>ECC_NIST_P256</em>&nbsp;</td><td class="fielddoc">
<p>NIST P-256 curve. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga17397319ffdcb8c105f8aaa731eac7faa8694a219c07cd54e8969db947c01bd6b"></a>ECC_NIST_P384</em>&nbsp;</td><td class="fielddoc">
<p>NIST P-384 curve. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga17397319ffdcb8c105f8aaa731eac7faa5a2c0ed5cfaf7d65b68a34a1f5dc0d5c"></a>ECC_NIST_P521</em>&nbsp;</td><td class="fielddoc">
<p>NIST P-251 curve. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga2ada82147d8840951ba1ab921cc5fe77"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__xilpki-api.html#ga2ada82147d8840951ba1ab921cc5fe77">Xpki_OpsType</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>PKI ECC supported operation. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77a450e3b7dbaffcfdd0ba9c5401309149d"></a>PKI_ECC_NIST_P192_SIGN</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-192 signature generation. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77a483c2b35b683faeb70fcb78f6965f672"></a>PKI_ECC_NIST_P256_SIGN</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-256 signature generation. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77acdab55697f7e3de418090c06b4cf4a43"></a>PKI_ECC_NIST_P384_SIGN</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-384 signature generation. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77ac0207dd557b354ef62d7ac6d23284a60"></a>PKI_ECC_NIST_P521_SIGN</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-521 signature generation. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77ab88f47ec99dca856c9cb27d1f2968d00"></a>PKI_ECC_NIST_P192_SIGN_VERIFY</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-192 signature verification. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77abef5f4196b37f65112bcc06ce9ec4e89"></a>PKI_ECC_NIST_P256_SIGN_VERIFY</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-256 signature verification. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77acbb236799f819cfd64610cbf8bdf4259"></a>PKI_ECC_NIST_P384_SIGN_VERIFY</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-384 signature verification. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77af704dd1d03fade9c09d106fd19e2b926"></a>PKI_ECC_NIST_P521_SIGN_VERIFY</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-521 signature verification. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77aa0e8156b5571c43d72cc0a7b531ffa18"></a>PKI_ECC_NIST_P192_KEY_PRIV_GEN</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-192 private-key generation. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77ac21a75cc63a68de870f84c802e71d6ef"></a>PKI_ECC_NIST_P256_KEY_PRIV_GEN</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-256 private-key generation. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77a5d03296c91f085ed217a543bd410d89f"></a>PKI_ECC_NIST_P384_KEY_PRIV_GEN</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-384 private-key generation. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77ae7a1e4aa6ddb9878f1ed66a59e976b4a"></a>PKI_ECC_NIST_P521_KEY_PRIV_GEN</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-521 private-key generation. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77a587a22c675c8759a94ac25ec29c65a8c"></a>PKI_ECC_NIST_P192_KEY_PUB_GEN</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-192 public-key generation. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77a1a4132b55a03a6807f70266fd8a1f8e7"></a>PKI_ECC_NIST_P256_KEY_PUB_GEN</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-256 public-key generation. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77a24e795e1389f1ed1f5cfafcf6910146c"></a>PKI_ECC_NIST_P384_KEY_PUB_GEN</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-384 public-key generation. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77ac7f44f3c4951b2b9f10421e5e9ef7dde"></a>PKI_ECC_NIST_P521_KEY_PUB_GEN</em>&nbsp;</td><td class="fielddoc">
<p>ECC NIST P-521 public-key generation. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga2ada82147d8840951ba1ab921cc5fe77ad662c4543b0cbffbabad2bd4608191de"></a>PKI_MAX_OPS</em>&nbsp;</td><td class="fielddoc">
<p>Maximum supported ops count. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gacc4bfe87976eaae5bf350315054d9be1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XilPki_DeQueue </td>
          <td>(</td>
          <td class="paramtype">XPki_Instance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_pki___request___info.html">XPki_Request_Info</a> *&#160;</td>
          <td class="paramname"><em>Request_InfoPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>RequestID</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to get the crypto operation results from the PKI Queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the XPki instance </td></tr>
    <tr><td class="paramname">Request_InfoPtr</td><td>Pointer to the queue info structure </td></tr>
    <tr><td class="paramname">RequestID</td><td>Unique request ID Filled by the <a class="el" href="group__xilpki-api.html#ga56071d557aca5100f5e0f77f9c49c572" title="This function is used to submit the crypto operation to the PKI Queue. ">XilPki_EnQueue()</a> API. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS - On success</li>
<li>XPKI_INVALID_PARAM - On invalid argument</li>
<li>XPKI_UNSUPPORTED_OPS - If the requested operation is not supported.</li>
<li>XST_FAILURE - On failure </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xilpki-api.html#ga4877acc9d6a83a4f254970dab52187d6">XPKI_INVALID_PARAM</a>.</p>

<p>Referenced by <a class="el" href="group__xilpki-api.html#ga7f5cc0cd24e52dbdb086c293cbe8eb37">XPki_EcdsaGenerateKeyPair()</a>, <a class="el" href="group__xilpki-api.html#gafdce6fc10f8a3c600a5b2ad5892f96cd">XPki_EcdsaPwct()</a>, and <a class="el" href="group__xilpki-api.html#ga0b2b5d7924786767fa77fda38febdf83">XPki_EcdsaSignGenerateKat()</a>.</p>

</div>
</div>
<a class="anchor" id="ga56071d557aca5100f5e0f77f9c49c572"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XilPki_EnQueue </td>
          <td>(</td>
          <td class="paramtype">XPki_Instance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_pki___request___info.html">XPki_Request_Info</a> *&#160;</td>
          <td class="paramname"><em>Request_InfoPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>RequestID</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to submit the crypto operation to the PKI Queue. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the XPki instance </td></tr>
    <tr><td class="paramname">Request_InfoPtr</td><td>Pointer to the queue info structure </td></tr>
    <tr><td class="paramname">RequestID</td><td>Pointer to the RequestID. if the request is successfully submitted it filled with unique id </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS - On success</li>
<li>XPKI_INVALID_PARAM - On invalid argument</li>
<li>XPKI_UNSUPPORTED_OPS - If the requested operation is not supported.</li>
<li>XST_FAILURE - On failure </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xilpki-api.html#ga661c6c12cb44acbcc56872825795ef8b">XPki_Request_Info::OpsType</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ad662c4543b0cbffbabad2bd4608191de">PKI_MAX_OPS</a>, <a class="el" href="group__xilpki-api.html#ga4877acc9d6a83a4f254970dab52187d6">XPKI_INVALID_PARAM</a>, <a class="el" href="group__xilpki-api.html#gaecd8c5bf657f4956f3156c8ccda28cae">XPKI_QUEUE_FULL</a>, and <a class="el" href="group__xilpki-api.html#ga59a066a8419d2bd879050ec3778eb4d1">XPKI_UNSUPPORTED_OPS</a>.</p>

<p>Referenced by <a class="el" href="group__xilpki-api.html#ga7f5cc0cd24e52dbdb086c293cbe8eb37">XPki_EcdsaGenerateKeyPair()</a>, <a class="el" href="group__xilpki-api.html#gafdce6fc10f8a3c600a5b2ad5892f96cd">XPki_EcdsaPwct()</a>, <a class="el" href="group__xilpki-api.html#ga0b2b5d7924786767fa77fda38febdf83">XPki_EcdsaSignGenerateKat()</a>, and <a class="el" href="group__xilpki-api.html#ga4e05fcde36a6900da8e90f5e29c18cfc">XPki_EcdsaVerifySignKat()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2ddb8e612b2e3b756bfbff5ba1d81bb8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XPki_Close </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to disable access to the PKI Hardware. </p>

</div>
</div>
<a class="anchor" id="ga7f5cc0cd24e52dbdb086c293cbe8eb37"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XPki_EcdsaGenerateKeyPair </td>
          <td>(</td>
          <td class="paramtype">XPki_Instance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__xilpki-api.html#ga17397319ffdcb8c105f8aaa731eac7fa">XPki_EcdsaCrvType</a>&#160;</td>
          <td class="paramname"><em>CrvType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XPki_EcdsaKey *&#160;</td>
          <td class="paramname"><em>PubKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>PrivKey</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function Generate key pairs for the ECC curves NIST-P192, P256, P384, and P521. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the XPki instance </td></tr>
    <tr><td class="paramname">CrvType</td><td>Type of ECC curve(NIST-P192,P256,P384, and P521) </td></tr>
    <tr><td class="paramname">PubKey</td><td>Pointer to the pulic-key buffer </td></tr>
    <tr><td class="paramname">PrivKey</td><td>Pointer to the private-key buffer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS - when passes</li>
<li>Errorcode - when fails </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faaa5a49f182e930999ebf8be222d62cdea">ECC_NIST_P192</a>, <a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faae8c5cb86007337b5c7943ad42d88c26d">ECC_NIST_P256</a>, <a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faa8694a219c07cd54e8969db947c01bd6b">ECC_NIST_P384</a>, <a class="el" href="group__xilpki-api.html#ga661c6c12cb44acbcc56872825795ef8b">XPki_Request_Info::OpsType</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77aa0e8156b5571c43d72cc0a7b531ffa18">PKI_ECC_NIST_P192_KEY_PRIV_GEN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a587a22c675c8759a94ac25ec29c65a8c">PKI_ECC_NIST_P192_KEY_PUB_GEN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ac21a75cc63a68de870f84c802e71d6ef">PKI_ECC_NIST_P256_KEY_PRIV_GEN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a1a4132b55a03a6807f70266fd8a1f8e7">PKI_ECC_NIST_P256_KEY_PUB_GEN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a5d03296c91f085ed217a543bd410d89f">PKI_ECC_NIST_P384_KEY_PRIV_GEN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a24e795e1389f1ed1f5cfafcf6910146c">PKI_ECC_NIST_P384_KEY_PUB_GEN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ae7a1e4aa6ddb9878f1ed66a59e976b4a">PKI_ECC_NIST_P521_KEY_PRIV_GEN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ac7f44f3c4951b2b9f10421e5e9ef7dde">PKI_ECC_NIST_P521_KEY_PUB_GEN</a>, <a class="el" href="group__xilpki-api.html#ga4750aeba3cd920b113e027f1b90a6c6c">XPki_Request_Info::PtrInputData</a>, <a class="el" href="group__xilpki-api.html#gadad46ec8656c2b010f923719be16301e">XPki_Request_Info::PtrOutputData</a>, <a class="el" href="group__xilpki-api.html#gacc4bfe87976eaae5bf350315054d9be1">XilPki_DeQueue()</a>, <a class="el" href="group__xilpki-api.html#ga56071d557aca5100f5e0f77f9c49c572">XilPki_EnQueue()</a>, and <a class="el" href="group__xilpki-api.html#ga0c79d9b9a4e2922c5328b39b4f033b35">XPki_Request_Info::XPki_CompletionCallBack</a>.</p>

</div>
</div>
<a class="anchor" id="gafdce6fc10f8a3c600a5b2ad5892f96cd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XPki_EcdsaPwct </td>
          <td>(</td>
          <td class="paramtype">XPki_Instance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XPki_EcdsaCrvInfo *&#160;</td>
          <td class="paramname"><em>CrvInfo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XPki_EcdsaKey *&#160;</td>
          <td class="paramname"><em>PubKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>PrivKey</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs ECC pairwise consistency test on ECC Curves. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the XPki instance </td></tr>
    <tr><td class="paramname">CrvInfo</td><td>Type of ECC curve class either prime or binary class and curve type(NIST-P192,P256,P384, and P521) </td></tr>
    <tr><td class="paramname">PubKey</td><td>ECC public key </td></tr>
    <tr><td class="paramname">PrivKey</td><td>ECC private key</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS - when KAT passes</li>
<li>Errorcode - when KAT fails </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faaa5a49f182e930999ebf8be222d62cdea">ECC_NIST_P192</a>, <a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faae8c5cb86007337b5c7943ad42d88c26d">ECC_NIST_P256</a>, <a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faa8694a219c07cd54e8969db947c01bd6b">ECC_NIST_P384</a>, <a class="el" href="group__xilpki-api.html#ga661c6c12cb44acbcc56872825795ef8b">XPki_Request_Info::OpsType</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a450e3b7dbaffcfdd0ba9c5401309149d">PKI_ECC_NIST_P192_SIGN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ab88f47ec99dca856c9cb27d1f2968d00">PKI_ECC_NIST_P192_SIGN_VERIFY</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a483c2b35b683faeb70fcb78f6965f672">PKI_ECC_NIST_P256_SIGN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77abef5f4196b37f65112bcc06ce9ec4e89">PKI_ECC_NIST_P256_SIGN_VERIFY</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77acdab55697f7e3de418090c06b4cf4a43">PKI_ECC_NIST_P384_SIGN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77acbb236799f819cfd64610cbf8bdf4259">PKI_ECC_NIST_P384_SIGN_VERIFY</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ac0207dd557b354ef62d7ac6d23284a60">PKI_ECC_NIST_P521_SIGN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77af704dd1d03fade9c09d106fd19e2b926">PKI_ECC_NIST_P521_SIGN_VERIFY</a>, <a class="el" href="group__xilpki-api.html#ga4750aeba3cd920b113e027f1b90a6c6c">XPki_Request_Info::PtrInputData</a>, <a class="el" href="group__xilpki-api.html#gadad46ec8656c2b010f923719be16301e">XPki_Request_Info::PtrOutputData</a>, <a class="el" href="group__xilpki-api.html#gacc4bfe87976eaae5bf350315054d9be1">XilPki_DeQueue()</a>, <a class="el" href="group__xilpki-api.html#ga56071d557aca5100f5e0f77f9c49c572">XilPki_EnQueue()</a>, and <a class="el" href="group__xilpki-api.html#ga0c79d9b9a4e2922c5328b39b4f033b35">XPki_Request_Info::XPki_CompletionCallBack</a>.</p>

</div>
</div>
<a class="anchor" id="ga0b2b5d7924786767fa77fda38febdf83"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XPki_EcdsaSignGenerateKat </td>
          <td>(</td>
          <td class="paramtype">XPki_Instance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XPki_EcdsaCrvInfo *&#160;</td>
          <td class="paramname"><em>CrvInfo</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs ECC sign generate known answer test(KAT) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the XPki instance </td></tr>
    <tr><td class="paramname">CrvInfo</td><td>Type of ECC curve class either prime or binary class and curve type(NIST-P192,P256,P384, and P521)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS - when KAT passes</li>
<li>Errorcode - when KAT fails </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faaa5a49f182e930999ebf8be222d62cdea">ECC_NIST_P192</a>, <a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faae8c5cb86007337b5c7943ad42d88c26d">ECC_NIST_P256</a>, <a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faa8694a219c07cd54e8969db947c01bd6b">ECC_NIST_P384</a>, <a class="el" href="group__xilpki-api.html#ga661c6c12cb44acbcc56872825795ef8b">XPki_Request_Info::OpsType</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a450e3b7dbaffcfdd0ba9c5401309149d">PKI_ECC_NIST_P192_SIGN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77a483c2b35b683faeb70fcb78f6965f672">PKI_ECC_NIST_P256_SIGN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77acdab55697f7e3de418090c06b4cf4a43">PKI_ECC_NIST_P384_SIGN</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ac0207dd557b354ef62d7ac6d23284a60">PKI_ECC_NIST_P521_SIGN</a>, <a class="el" href="group__xilpki-api.html#ga4750aeba3cd920b113e027f1b90a6c6c">XPki_Request_Info::PtrInputData</a>, <a class="el" href="group__xilpki-api.html#gadad46ec8656c2b010f923719be16301e">XPki_Request_Info::PtrOutputData</a>, <a class="el" href="group__xilpki-api.html#gacc4bfe87976eaae5bf350315054d9be1">XilPki_DeQueue()</a>, <a class="el" href="group__xilpki-api.html#ga56071d557aca5100f5e0f77f9c49c572">XilPki_EnQueue()</a>, and <a class="el" href="group__xilpki-api.html#ga0c79d9b9a4e2922c5328b39b4f033b35">XPki_Request_Info::XPki_CompletionCallBack</a>.</p>

</div>
</div>
<a class="anchor" id="ga4e05fcde36a6900da8e90f5e29c18cfc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XPki_EcdsaVerifySignKat </td>
          <td>(</td>
          <td class="paramtype">XPki_Instance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XPki_EcdsaCrvInfo *&#160;</td>
          <td class="paramname"><em>CrvInfo</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs ECC sign verify known answer test(KAT) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the XPki instance </td></tr>
    <tr><td class="paramname">CrvInfo</td><td>Type of ECC curve class either prime/binary curve and curve type(NIST-P192,P256,P384, and P521)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS - when KAT passes</li>
<li>Errorcode - when KAT fails </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faaa5a49f182e930999ebf8be222d62cdea">ECC_NIST_P192</a>, <a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faae8c5cb86007337b5c7943ad42d88c26d">ECC_NIST_P256</a>, <a class="el" href="group__xilpki-api.html#gga17397319ffdcb8c105f8aaa731eac7faa8694a219c07cd54e8969db947c01bd6b">ECC_NIST_P384</a>, <a class="el" href="group__xilpki-api.html#ga661c6c12cb44acbcc56872825795ef8b">XPki_Request_Info::OpsType</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77ab88f47ec99dca856c9cb27d1f2968d00">PKI_ECC_NIST_P192_SIGN_VERIFY</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77abef5f4196b37f65112bcc06ce9ec4e89">PKI_ECC_NIST_P256_SIGN_VERIFY</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77acbb236799f819cfd64610cbf8bdf4259">PKI_ECC_NIST_P384_SIGN_VERIFY</a>, <a class="el" href="group__xilpki-api.html#gga2ada82147d8840951ba1ab921cc5fe77af704dd1d03fade9c09d106fd19e2b926">PKI_ECC_NIST_P521_SIGN_VERIFY</a>, <a class="el" href="group__xilpki-api.html#ga4750aeba3cd920b113e027f1b90a6c6c">XPki_Request_Info::PtrInputData</a>, <a class="el" href="group__xilpki-api.html#ga56071d557aca5100f5e0f77f9c49c572">XilPki_EnQueue()</a>, and <a class="el" href="group__xilpki-api.html#ga0c79d9b9a4e2922c5328b39b4f033b35">XPki_Request_Info::XPki_CompletionCallBack</a>.</p>

</div>
</div>
<a class="anchor" id="ga576bdd3a3c4387f79ce64072c9be1e8e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XPki_Initialize </td>
          <td>(</td>
          <td class="paramtype">XPki_Instance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs the PKI module initialization. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the XPki instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS - On success</li>
<li>XPKI_INVALID_PARAM - On invalid argument</li>
<li>XPKI_ERROR_UNALIGN_ADDR - On Request/Completion queue Address are not Word aligned.</li>
<li>XST_FAILURE - On failure </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xilpki-api.html#ga4877acc9d6a83a4f254970dab52187d6">XPKI_INVALID_PARAM</a>, <a class="el" href="group__xilpki-api.html#ga505935a763918d9c3703d7b27be9a41b">XPki_Reset()</a>, and <a class="el" href="group__xilpki-api.html#ga9ea0ba13f75d8fef10d836964638a016">XPki_SoftReset()</a>.</p>

</div>
</div>
<a class="anchor" id="ga505935a763918d9c3703d7b27be9a41b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XPki_Reset </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reset the PKI module. </p>

<p>Referenced by <a class="el" href="group__xilpki-api.html#ga576bdd3a3c4387f79ce64072c9be1e8e">XPki_Initialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9ea0ba13f75d8fef10d836964638a016"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XPki_SoftReset </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs the PKI module soft reset. </p>

<p>Referenced by <a class="el" href="group__xilpki-api.html#ga576bdd3a3c4387f79ce64072c9be1e8e">XPki_Initialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga17c93923bc5348033293e61c582eb7a3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XPki_TrngGenerateRandomNum </td>
          <td>(</td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>GenSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>RandBuf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is used to generate the Random number for the give size. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">GenSize</td><td>Required Random Number length in bytes. </td></tr>
    <tr><td class="paramname">RandBuf</td><td>Pointer to store the Random Number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS - On success</li>
<li>XST_FAILURE - On failure </li>
</ul>
</dd></dl>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ga661c6c12cb44acbcc56872825795ef8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__xilpki-api.html#ga2ada82147d8840951ba1ab921cc5fe77">Xpki_OpsType</a> XPki_Request_Info::OpsType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ECC operation type. </p>

<p>Referenced by <a class="el" href="group__xilpki-api.html#ga56071d557aca5100f5e0f77f9c49c572">XilPki_EnQueue()</a>, <a class="el" href="group__xilpki-api.html#ga7f5cc0cd24e52dbdb086c293cbe8eb37">XPki_EcdsaGenerateKeyPair()</a>, <a class="el" href="group__xilpki-api.html#gafdce6fc10f8a3c600a5b2ad5892f96cd">XPki_EcdsaPwct()</a>, <a class="el" href="group__xilpki-api.html#ga0b2b5d7924786767fa77fda38febdf83">XPki_EcdsaSignGenerateKat()</a>, and <a class="el" href="group__xilpki-api.html#ga4e05fcde36a6900da8e90f5e29c18cfc">XPki_EcdsaVerifySignKat()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4750aeba3cd920b113e027f1b90a6c6c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* XPki_Request_Info::PtrInputData</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pointer to the input data. </p>

<p>Referenced by <a class="el" href="group__xilpki-api.html#ga7f5cc0cd24e52dbdb086c293cbe8eb37">XPki_EcdsaGenerateKeyPair()</a>, <a class="el" href="group__xilpki-api.html#gafdce6fc10f8a3c600a5b2ad5892f96cd">XPki_EcdsaPwct()</a>, <a class="el" href="group__xilpki-api.html#ga0b2b5d7924786767fa77fda38febdf83">XPki_EcdsaSignGenerateKat()</a>, and <a class="el" href="group__xilpki-api.html#ga4e05fcde36a6900da8e90f5e29c18cfc">XPki_EcdsaVerifySignKat()</a>.</p>

</div>
</div>
<a class="anchor" id="gadad46ec8656c2b010f923719be16301e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* XPki_Request_Info::PtrOutputData</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pointer to the outout data. </p>

<p>Referenced by <a class="el" href="group__xilpki-api.html#ga7f5cc0cd24e52dbdb086c293cbe8eb37">XPki_EcdsaGenerateKeyPair()</a>, <a class="el" href="group__xilpki-api.html#gafdce6fc10f8a3c600a5b2ad5892f96cd">XPki_EcdsaPwct()</a>, and <a class="el" href="group__xilpki-api.html#ga0b2b5d7924786767fa77fda38febdf83">XPki_EcdsaSignGenerateKat()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0c79d9b9a4e2922c5328b39b4f033b35"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* XPki_Request_Info::XPki_CompletionCallBack)(u32 RequestID, u32 Status)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request completion callback function pointer. </p>

<p>Referenced by <a class="el" href="group__xilpki-api.html#ga7f5cc0cd24e52dbdb086c293cbe8eb37">XPki_EcdsaGenerateKeyPair()</a>, <a class="el" href="group__xilpki-api.html#gafdce6fc10f8a3c600a5b2ad5892f96cd">XPki_EcdsaPwct()</a>, <a class="el" href="group__xilpki-api.html#ga0b2b5d7924786767fa77fda38febdf83">XPki_EcdsaSignGenerateKat()</a>, and <a class="el" href="group__xilpki-api.html#ga4e05fcde36a6900da8e90f5e29c18cfc">XPki_EcdsaVerifySignKat()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
